<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1, user-scalable=no">
  <meta name="description" content="API docs for the MediaItem class from the media library, for the Dart programming language.">
  <title>MediaItem class - media library - Dart API</title>


  
  <link rel="preconnect" href="https://fonts.gstatic.com">
  <link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,300;0,400;0,500;0,700;1,400&display=swap" rel="stylesheet">
  <link href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@48,400,0,0" rel="stylesheet">
  
  <link rel="stylesheet" href="../static-assets/github.css?v1">
  <link rel="stylesheet" href="../static-assets/styles.css?v1">
  <link rel="icon" href="../static-assets/favicon.png?v1">

  
</head>


<body data-base-href="../" data-using-base-href="false" class="light-theme">

<div id="overlay-under-drawer"></div>

<header id="title">
  <span id="sidenav-left-toggle" class="material-symbols-outlined" role="button" tabindex="0">menu</span>
  <ol class="breadcrumbs gt-separated dark hidden-xs">
    <li><a href="../index.html">yuuna</a></li>
    <li><a href="../media/media-library.html">media</a></li>
    <li class="self-crumb">MediaItem class</li>
  </ol>
  <div class="self-name">MediaItem</div>
  <form class="search navbar-right" role="search">
    <input type="text" id="search-box" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
  <div class="toggle" id="theme-button">
    <label for="theme">
      <input type="checkbox" id="theme" value="light-theme">
      <span id="dark-theme-button" class="material-symbols-outlined">
        brightness_4
      </span>
      <span id="light-theme-button" class="material-symbols-outlined">
        brightness_5
      </span>
    </label>
  </div>
</header>
<main>

  <div id="dartdoc-main-content" class="main-content">
      <div>
<h1><span class="kind-class">MediaItem</span> class 
 
</h1></div>

    
<section class="desc markdown">
  <p>An item representable in media history from which a media source may
start playback with. This entity does not have any progress information,
such as duration or number of chapters and individual progress of those
items. That extra information is handled as extra arguments used alongside
the <a href="../media/MediaItem-class.html">MediaItem</a>, and not included within it. This design is done to reduce
the number and complexity of CRUD operations, as including all data in this
entity is impractical to include when persisting a progress update.</p>
</section>


    <section>
      <dl class="dl-horizontal">
        

        
        



        
  <dt>Annotations</dt>
  <dd>
    <ul class="annotation-list clazz-relationships">
        <li>@<a href="https://pub.dev/documentation/json_annotation/4.8.1/json_annotation/JsonSerializable-class.html">JsonSerializable</a>()</li>
        <li>@<a href="https://pub.dev/documentation/isar/3.1.0+1/isar/Collection-class.html">Collection</a>()</li>
    </ul>
  </dd>


      </dl>
    </section>

    
  <section class="summary offset-anchor" id="constructors">
    <h2>Constructors</h2>

    <dl class="constructor-summary-list">
        <dt id="MediaItem" class="callable">
          <span class="name"><a href="../media/MediaItem/MediaItem.html">MediaItem</a></span><span class="signature">(<span class="parameter" id="-param-mediaIdentifier">{<span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">mediaIdentifier</span>, </span><span class="parameter" id="-param-title"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">title</span>, </span><span class="parameter" id="-param-mediaTypeIdentifier"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">mediaTypeIdentifier</span>, </span><span class="parameter" id="-param-mediaSourceIdentifier"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> <span class="parameter-name">mediaSourceIdentifier</span>, </span><span class="parameter" id="-param-position"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> <span class="parameter-name">position</span>, </span><span class="parameter" id="-param-duration"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> <span class="parameter-name">duration</span>, </span><span class="parameter" id="-param-canDelete"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span> <span class="parameter-name">canDelete</span>, </span><span class="parameter" id="-param-canEdit"><span>required</span> <span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span> <span class="parameter-name">canEdit</span>, </span><span class="parameter" id="-param-id"><span class="type-annotation"><a href="https://pub.dev/documentation/isar/3.1.0+1/isar/Id.html">Id</a>?</span> <span class="parameter-name">id</span>, </span><span class="parameter" id="-param-extraUrl"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">extraUrl</span>, </span><span class="parameter" id="-param-extra"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">extra</span>, </span><span class="parameter" id="-param-base64Image"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">base64Image</span>, </span><span class="parameter" id="-param-imageUrl"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">imageUrl</span>, </span><span class="parameter" id="-param-audioUrl"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">audioUrl</span>, </span><span class="parameter" id="-param-author"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">author</span>, </span><span class="parameter" id="-param-authorIdentifier"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">authorIdentifier</span>, </span><span class="parameter" id="-param-sourceMetadata"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">sourceMetadata</span>}</span>)</span>
        </dt>
        <dd>
          Initialise a media item with certain details.
        </dd>
        <dt id="MediaItem.fromJson" class="callable">
          <span class="name"><a href="../media/MediaItem/MediaItem.fromJson.html">MediaItem.fromJson</a></span><span class="signature">(<span class="parameter" id="fromJson-param-json"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Map-class.html">Map</a><span class="signature">&lt;<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>, <span class="type-parameter">dynamic</span>&gt;</span></span> <span class="parameter-name">json</span></span>)</span>
        </dt>
        <dd>
          Create an instance of this class from a serialized format.
            <div class="constructor-modifier features">factory</div>
        </dd>
    </dl>
  </section>

    <section class="summary offset-anchor" id="instance-properties">
      <h2>Properties</h2>

      <dl class="properties">
        <dt id="audioUrl" class="property">
  <span class="name"><a href="../media/MediaItem/audioUrl.html">audioUrl</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  Used to override the audio to be played for the media.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="author" class="property">
  <span class="name"><a href="../media/MediaItem/author.html">author</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  This field is a convenience field as it may be common to store this
detail. For a web video, this could be the channel where the video is
from. For a book, it is the author.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="authorIdentifier" class="property">
  <span class="name"><a href="../media/MediaItem/authorIdentifier.html">authorIdentifier</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  This field is for future-proofing, and can be used to store an identifier
for an author, for example, a YouTube channel.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="base64Image" class="property">
  <span class="name"><a href="../media/MediaItem/base64Image.html">base64Image</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  If <a href="../media/MediaItem/imageUrl.html">imageUrl</a> is null and this is not null, this will be used as the
preview image.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="canDelete" class="property">
  <span class="name"><a href="../media/MediaItem/canDelete.html">canDelete</a></span>
  <span class="signature">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span> 

</dt>
<dd>
  Whether or not this <a href="../media/MediaItem-class.html">MediaItem</a> can be deleted.
  <div class="features"><span class="feature">final</span></div>

</dd>

        <dt id="canEdit" class="property">
  <span class="name"><a href="../media/MediaItem/canEdit.html">canEdit</a></span>
  <span class="signature">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span> 

</dt>
<dd>
  Whether or not this <a href="../media/MediaItem-class.html">MediaItem</a> allows overriding the display title and
thumbnail.
  <div class="features"><span class="feature">final</span></div>

</dd>

        <dt id="duration" class="property">
  <span class="name"><a href="../media/MediaItem/duration.html">duration</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> 

</dt>
<dd>
  The media's full duration, used to be able to tell the completion of
this media context relative to the position.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="extra" class="property">
  <span class="name"><a href="../media/MediaItem/extra.html">extra</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  This field is a convenience field for metadata information.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="extraUrl" class="property">
  <span class="name"><a href="../media/MediaItem/extraUrl.html">extraUrl</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  Used to provide any extra URL information.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="hashCode" class="property">
  <span class="name"><a href="../media/MediaItem/hashCode.html">hashCode</a></span>
  <span class="signature">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> 

</dt>
<dd>
  The hash code for this object.
  <div class="features"><span class="feature">read-only</span><span class="feature">override</span></div>

</dd>

        <dt id="id" class="property">
  <span class="name"><a href="../media/MediaItem/id.html">id</a></span>
  <span class="signature">&#8596; <a href="https://pub.dev/documentation/isar/3.1.0+1/isar/Id.html">Id</a>?</span> 

</dt>
<dd>
  A unique identifier for the purposes of database storage.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="imageUrl" class="property">
  <span class="name"><a href="../media/MediaItem/imageUrl.html">imageUrl</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  This will be attempted for use as the preview image if not null,
otherwise <a href="../media/MediaItem/base64Image.html">base64Image</a> will be attempted.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="mediaIdentifier" class="property">
  <span class="name"><a href="../media/MediaItem/mediaIdentifier.html">mediaIdentifier</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> 

</dt>
<dd>
  The media identifier of this item. Using this variable alone, a media
source must be able to functionally process how to display the media.
If the same item exists in history, then the item is replaced with a
newer item in the addition operation. This key is also used to identify
resources such as thumbnails in the cache.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="mediaSourceIdentifier" class="property">
  <span class="name"><a href="../media/MediaItem/mediaSourceIdentifier.html">mediaSourceIdentifier</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> 

</dt>
<dd>
  The media source where this item is from.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="mediaTypeIdentifier" class="property">
  <span class="name"><a href="../media/MediaItem/mediaTypeIdentifier.html">mediaTypeIdentifier</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> 

</dt>
<dd>
  The media type where this item is from.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="position" class="property">
  <span class="name"><a href="../media/MediaItem/position.html">position</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a></span> 

</dt>
<dd>
  The current progress of the media in the time this context was made.
This could be the seconds of a playing video or the page number of a
book or comic.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="runtimeType" class="property inherited">
  <span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></span>
  <span class="signature">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/Type-class.html">Type</a></span> 

</dt>
<dd class="inherited">
  A representation of the runtime type of the object.
  <div class="features"><span class="feature">read-only</span><span class="feature">inherited</span></div>

</dd>

        <dt id="sourceMetadata" class="property">
  <span class="name"><a href="../media/MediaItem/sourceMetadata.html">sourceMetadata</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> 

</dt>
<dd>
  This field may be used to store additional details that the source may
require to get more details on this item.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="title" class="property">
  <span class="name"><a href="../media/MediaItem/title.html">title</a></span>
  <span class="signature">&#8596; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> 

</dt>
<dd>
  The name of this item. Typically, this could be the name of a video
or a book.
  <div class="features"><span class="feature">read / write</span></div>

</dd>

        <dt id="uniqueKey" class="property">
  <span class="name"><a href="../media/MediaItem/uniqueKey.html">uniqueKey</a></span>
  <span class="signature">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span> 

</dt>
<dd>
  A unique identifier for the purposes of database storage.
  <div class="features"><span class="feature">read-only</span></div>

</dd>

      </dl>
    </section>

    
  <section
      class="summary offset-anchor"
      id="instance-methods">
    <h2>Methods</h2>
    <dl class="callables">
        <dt id="copyWith" class="callable">
  <span class="name"><a href="../media/MediaItem/copyWith.html">copyWith</a></span><span class="signature">(<wbr><span class="parameter" id="copyWith-param-id">{<span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a>?</span> <span class="parameter-name">id</span>, </span><span class="parameter" id="copyWith-param-mediaIdentifier"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">mediaIdentifier</span>, </span><span class="parameter" id="copyWith-param-title"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">title</span>, </span><span class="parameter" id="copyWith-param-mediaSourceIdentifier"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">mediaSourceIdentifier</span>, </span><span class="parameter" id="copyWith-param-mediaTypeIdentifier"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">mediaTypeIdentifier</span>, </span><span class="parameter" id="copyWith-param-base64Image"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">base64Image</span>, </span><span class="parameter" id="copyWith-param-imageUrl"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">imageUrl</span>, </span><span class="parameter" id="copyWith-param-audioUrl"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">audioUrl</span>, </span><span class="parameter" id="copyWith-param-author"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">author</span>, </span><span class="parameter" id="copyWith-param-sourceMetadata"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a>?</span> <span class="parameter-name">sourceMetadata</span>, </span><span class="parameter" id="copyWith-param-position"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a>?</span> <span class="parameter-name">position</span>, </span><span class="parameter" id="copyWith-param-duration"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/int-class.html">int</a>?</span> <span class="parameter-name">duration</span>, </span><span class="parameter" id="copyWith-param-canDelete"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a>?</span> <span class="parameter-name">canDelete</span>, </span><span class="parameter" id="copyWith-param-canEdit"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a>?</span> <span class="parameter-name">canEdit</span>}</span>)
    <span class="returntype parameter">&#8594; <a href="../media/MediaItem-class.html">MediaItem</a></span>
  </span>
  

</dt>
<dd>
  Creates a deep copy of this mapping but with the given variables replaced
with the new values.
  

</dd>

        <dt id="getMediaSource" class="callable">
  <span class="name"><a href="../media/MediaItem/getMediaSource.html">getMediaSource</a></span><span class="signature">(<wbr><span class="parameter" id="getMediaSource-param-appModel">{<span>required</span> <span class="type-annotation"><a href="../models/AppModel-class.html">AppModel</a></span> <span class="parameter-name">appModel</span>}</span>)
    <span class="returntype parameter">&#8594; <a href="../media/MediaSource-class.html">MediaSource</a></span>
  </span>
  

</dt>
<dd>
  Get the <a href="../media/MediaSource-class.html">MediaSource</a> from a <a href="../media/MediaItem-class.html">MediaItem</a> from its serialised identifier.
  

</dd>

        <dt id="getMediaType" class="callable">
  <span class="name"><a href="../media/MediaItem/getMediaType.html">getMediaType</a></span><span class="signature">(<wbr><span class="parameter" id="getMediaType-param-appModel">{<span>required</span> <span class="type-annotation"><a href="../models/AppModel-class.html">AppModel</a></span> <span class="parameter-name">appModel</span>}</span>)
    <span class="returntype parameter">&#8594; <a href="../media/MediaType-class.html">MediaType</a></span>
  </span>
  

</dt>
<dd>
  Get the <a href="../media/MediaType-class.html">MediaType</a> from a <a href="../media/MediaItem-class.html">MediaItem</a> from its serialised identifier.
  

</dd>

        <dt id="noSuchMethod" class="callable inherited">
  <span class="name"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></span><span class="signature">(<wbr><span class="parameter" id="noSuchMethod-param-invocation"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Invocation-class.html">Invocation</a></span> <span class="parameter-name">invocation</span></span>)
    <span class="returntype parameter">&#8594; dynamic</span>
  </span>
  

</dt>
<dd class="inherited">
  Invoked when a nonexistent method or property is accessed.
  <div class="features"><span class="feature">inherited</span></div>

</dd>

        <dt id="toJson" class="callable">
  <span class="name"><a href="../media/MediaItem/toJson.html">toJson</a></span><span class="signature">(<wbr>)
    <span class="returntype parameter">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/Map-class.html">Map</a><span class="signature">&lt;<wbr><span class="type-parameter"><a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>, <span class="type-parameter">dynamic</span>&gt;</span></span>
  </span>
  

</dt>
<dd>
  Convert this into a serialized format.
  

</dd>

        <dt id="toString" class="callable">
  <span class="name"><a href="../media/MediaItem/toString.html">toString</a></span><span class="signature">(<wbr>)
    <span class="returntype parameter">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/String-class.html">String</a></span>
  </span>
  

</dt>
<dd>
  A string representation of this object.
  <div class="features"><span class="feature">override</span></div>

</dd>

    </dl>
  </section>
    
  <section
      class="summary offset-anchor"
      id="operators">
    <h2>Operators</h2>
    <dl class="callables">
        <dt id="operator ==" class="callable">
  <span class="name"><a href="../media/MediaItem/operator_equals.html">operator ==</a></span><span class="signature">(<wbr><span class="parameter" id="==-param-other"><span class="type-annotation"><a href="https://api.flutter.dev/flutter/dart-core/Object-class.html">Object</a></span> <span class="parameter-name">other</span></span>)
    <span class="returntype parameter">&#8594; <a href="https://api.flutter.dev/flutter/dart-core/bool-class.html">bool</a></span>
  </span>
  

</dt>
<dd>
  The equality operator.
  <div class="features"><span class="feature">override</span></div>

</dd>

    </dl>
  </section>
    
    
    


  </div> <!-- /.main-content -->

  <div id="dartdoc-sidebar-left" class="sidebar sidebar-offcanvas-left">
    <header id="header-search-sidebar" class="hidden-l">
  <form class="search-sidebar" role="search">
    <input type="text" id="search-sidebar" autocomplete="off" disabled class="form-control typeahead" placeholder="Loading search...">
  </form>
</header>

<ol class="breadcrumbs gt-separated dark hidden-l" id="sidebar-nav">
  <li><a href="../index.html">yuuna</a></li>
  <li><a href="../media/media-library.html">media</a></li>
  <li class="self-crumb">MediaItem class</li>
</ol>


    <h5>media library</h5>
    <ol>
      <li class="section-title"><a href="../media/media-library.html#classes">Classes</a></li>
        <li><a href="../media/ComputeManifestParams-class.html">ComputeManifestParams</a></li>
        <li><a href="../media/DictionaryMediaType-class.html">DictionaryMediaType</a></li>
        <li><a href="../media/MediaItem-class.html">MediaItem</a></li>
        <li><a href="../media/MediaSource-class.html">MediaSource</a></li>
        <li><a href="../media/MediaType-class.html">MediaType</a></li>
        <li><a href="../media/PlayerLocalMediaSource-class.html">PlayerLocalMediaSource</a></li>
        <li><a href="../media/PlayerMediaSource-class.html">PlayerMediaSource</a></li>
        <li><a href="../media/PlayerMediaType-class.html">PlayerMediaType</a></li>
        <li><a href="../media/PlayerNetworkStreamSource-class.html">PlayerNetworkStreamSource</a></li>
        <li><a href="../media/PlayerYoutubeSource-class.html">PlayerYoutubeSource</a></li>
        <li><a href="../media/ReaderBrowserSource-class.html">ReaderBrowserSource</a></li>
        <li><a href="../media/ReaderChatgptSource-class.html">ReaderChatgptSource</a></li>
        <li><a href="../media/ReaderClipboardSource-class.html">ReaderClipboardSource</a></li>
        <li><a href="../media/ReaderLyricsSource-class.html">ReaderLyricsSource</a></li>
        <li><a href="../media/ReaderMediaSource-class.html">ReaderMediaSource</a></li>
        <li><a href="../media/ReaderMediaType-class.html">ReaderMediaType</a></li>
        <li><a href="../media/ReaderMokuroSource-class.html">ReaderMokuroSource</a></li>
        <li><a href="../media/ReaderTtuSource-class.html">ReaderTtuSource</a></li>
        <li><a href="../media/ReaderWebsocketSource-class.html">ReaderWebsocketSource</a></li>
        <li><a href="../media/VideoManifest-class.html">VideoManifest</a></li>
        <li><a href="../media/ViewerCameraSource-class.html">ViewerCameraSource</a></li>
        <li><a href="../media/ViewerMediaSource-class.html">ViewerMediaSource</a></li>
        <li><a href="../media/ViewerMediaType-class.html">ViewerMediaType</a></li>

      <li class="section-title"><a href="../media/media-library.html#extensions">Extensions</a></li>
        <li><a href="../media/GetMediaItemCollection.html">GetMediaItemCollection</a></li>
        <li><a href="../media/MediaItemByIndex.html">MediaItemByIndex</a></li>
        <li><a href="../media/MediaItemQueryFilter.html">MediaItemQueryFilter</a></li>
        <li><a href="../media/MediaItemQueryLinks.html">MediaItemQueryLinks</a></li>
        <li><a href="../media/MediaItemQueryObject.html">MediaItemQueryObject</a></li>
        <li><a href="../media/MediaItemQueryProperty.html">MediaItemQueryProperty</a></li>
        <li><a href="../media/MediaItemQuerySortBy.html">MediaItemQuerySortBy</a></li>
        <li><a href="../media/MediaItemQuerySortThenBy.html">MediaItemQuerySortThenBy</a></li>
        <li><a href="../media/MediaItemQueryWhere.html">MediaItemQueryWhere</a></li>
        <li><a href="../media/MediaItemQueryWhereDistinct.html">MediaItemQueryWhereDistinct</a></li>
        <li><a href="../media/MediaItemQueryWhereSort.html">MediaItemQueryWhereSort</a></li>


      <li class="section-title"><a href="../media/media-library.html#constants">Constants</a></li>
        <li><a href="../media/MediaItemSchema-constant.html">MediaItemSchema</a></li>

      <li class="section-title"><a href="../media/media-library.html#properties">Properties</a></li>
        <li><a href="../media/channelProvider.html">channelProvider</a></li>
        <li><a href="../media/clipboardProvider.html">clipboardProvider</a></li>
        <li><a href="../media/commentsProvider.html">commentsProvider</a></li>
        <li><a href="../media/lyricsPermissionsProvider.html">lyricsPermissionsProvider</a></li>
        <li><a href="../media/lyricsProvider.html">lyricsProvider</a></li>
        <li><a href="../media/lyricsStreamProvider.html">lyricsStreamProvider</a></li>
        <li><a href="../media/repliesProvider.html">repliesProvider</a></li>
        <li><a href="../media/ttuBooksProvider.html">ttuBooksProvider</a></li>
        <li><a href="../media/ttuServerProvider.html">ttuServerProvider</a></li>
        <li><a href="../media/vttRegex.html">vttRegex</a></li>

      <li class="section-title"><a href="../media/media-library.html#functions">Functions</a></li>
        <li><a href="../media/computeCaptionsManifest.html">computeCaptionsManifest</a></li>
        <li><a href="../media/computeChannel.html">computeChannel</a></li>
        <li><a href="../media/computeCommentsList.html">computeCommentsList</a></li>
        <li><a href="../media/computeManifests.html">computeManifests</a></li>



</ol>

  </div>

  <div id="dartdoc-sidebar-right" class="sidebar sidebar-offcanvas-right">
    <ol>

        <li class="section-title"><a href="../media/MediaItem-class.html#constructors">Constructors</a></li>
          <li><a href="../media/MediaItem/MediaItem.html">MediaItem</a></li>
          <li><a href="../media/MediaItem/MediaItem.fromJson.html">fromJson</a></li>


        <li class="section-title">
          <a href="../media/MediaItem-class.html#instance-properties">Properties</a>
        </li>
          <li><a href="../media/MediaItem/audioUrl.html">audioUrl</a></li>
          <li><a href="../media/MediaItem/author.html">author</a></li>
          <li><a href="../media/MediaItem/authorIdentifier.html">authorIdentifier</a></li>
          <li><a href="../media/MediaItem/base64Image.html">base64Image</a></li>
          <li><a href="../media/MediaItem/canDelete.html">canDelete</a></li>
          <li><a href="../media/MediaItem/canEdit.html">canEdit</a></li>
          <li><a href="../media/MediaItem/duration.html">duration</a></li>
          <li><a href="../media/MediaItem/extra.html">extra</a></li>
          <li><a href="../media/MediaItem/extraUrl.html">extraUrl</a></li>
          <li><a href="../media/MediaItem/hashCode.html">hashCode</a></li>
          <li><a href="../media/MediaItem/id.html">id</a></li>
          <li><a href="../media/MediaItem/imageUrl.html">imageUrl</a></li>
          <li><a href="../media/MediaItem/mediaIdentifier.html">mediaIdentifier</a></li>
          <li><a href="../media/MediaItem/mediaSourceIdentifier.html">mediaSourceIdentifier</a></li>
          <li><a href="../media/MediaItem/mediaTypeIdentifier.html">mediaTypeIdentifier</a></li>
          <li><a href="../media/MediaItem/position.html">position</a></li>
          <li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/runtimeType.html">runtimeType</a></li>
          <li><a href="../media/MediaItem/sourceMetadata.html">sourceMetadata</a></li>
          <li><a href="../media/MediaItem/title.html">title</a></li>
          <li><a href="../media/MediaItem/uniqueKey.html">uniqueKey</a></li>

        <li class="section-title"><a href="../media/MediaItem-class.html#instance-methods">Methods</a></li>
          <li><a href="../media/MediaItem/copyWith.html">copyWith</a></li>
          <li><a href="../media/MediaItem/getMediaSource.html">getMediaSource</a></li>
          <li><a href="../media/MediaItem/getMediaType.html">getMediaType</a></li>
          <li class="inherited"><a href="https://api.flutter.dev/flutter/dart-core/Object/noSuchMethod.html">noSuchMethod</a></li>
          <li><a href="../media/MediaItem/toJson.html">toJson</a></li>
          <li><a href="../media/MediaItem/toString.html">toString</a></li>

        <li class="section-title"><a href="../media/MediaItem-class.html#operators">Operators</a></li>
          <li><a href="../media/MediaItem/operator_equals.html">operator ==</a></li>




</ol>

  </div><!--/.sidebar-offcanvas-->

</main>

<footer>
  <span class="no-break">
    yuuna
      2.8.0+93
  </span>

  
</footer>



<script src="../static-assets/highlight.pack.js?v1"></script>
<script src="../static-assets/docs.dart.js"></script>



</body>

</html>

